#include "LCD12864.h"
#include "ImageData.h"
#include "Key.h"

unsigned char current_image = 0; // 当前显示图片索引
unsigned char auto_play = 0;     // 自动轮播标志
unsigned int timer_count = 0;    // 计时器计数

// 图片切换函数
void ChangeImage(char direction) {
    if(direction == 1) { // 向左切换
        if(current_image == 0) current_image = 2;
        else current_image--;
    }
    else if(direction == 2) { // 向右切换
        if(current_image == 2) current_image = 0;
        else current_image++;
    }
    
    // 显示对应图片
    switch(current_image) {
        case 0: LCD_ShowImage(image1); break;
        case 1: LCD_ShowImage(image2); break;
        case 2: LCD_ShowImage(image3); break;
    }
}

// 自动轮播处理
void AutoPlayProcess() {
    if(auto_play) {
        timer_count++;
        if(timer_count >= 3000) { // 3秒(3000ms)切换一次
            timer_count = 0;
            ChangeImage(2); // 向右切换
        }
    }
}

// 按键处理
void KeyProcess() {
    unsigned char key = Key_Scan();
    
    if(key == 1) { // 左键
        auto_play = 0; // 停止自动轮播
        ChangeImage(1); // 向左切换
    }
    else if(key == 2) { // 右键
        auto_play = 0; // 停止自动轮播
        ChangeImage(2); // 向右切换
    }
    else if(key == 3) { // 下键
        auto_play = 1; // 开始自动轮播
        timer_count = 0;
    }
}